/**
 * ajaxload js
 * @author yulipu
 * based on jQuery
 */
function AjaxLoad(opt) {
	opt = undefined == opt ? {} : opt;
	this.options = {
		container : 'listContainer',  // 容器
		loadMoreButton : 'loadMoreLink',  // 更多按钮
		lastId : 0,  // 最下面一条内容的id
		LatestId : 0  // 最新内容id
	};
	this.doc = document;
	this.options = jQuery.extend(this.options, opt);
	
	this.init();
}
AjaxLoad.prototype = {
	constructor : AjaxLoad,
	
	E : {
		addHandler: function(ele, type, func) {
			if (ele.addEventListener) {
				ele.addEventListener(type, func, false)
			} else {
				if (ele.attachEvent) {
					ele.attachEvent("on" + type, func)
				} else {
					ele["on" + type] = func
				}
			}
		},
		removeHandler: function(ele, type, func) {
			if (ele.removeEventListener) {
				ele.removeEventListener(type, func, false)
			} else {
				if (ele.detachEvent) {
					ele.detachEvent("on" + type, func)
				} else {
					ele["on" + type] = null
				}
			}
		}
	},
	
	reset : function() {},
	
	init : function() {
		var _this = this;
		var o = this.options;
		// 添加事件
		this.E.addHandler(this.doc.getElementById(o.loadMoreButton), 'click', function(){
			_this.loadMore();	
		});
	},
	
	// 发送请求
	request : function(url, data, func, err) {
		jQuery.ajax({
			 "url" : url,
			 'method' : 'GET',
			 "data" : data,
			 "success" : func,
			 "error" : err || function() {alert('请求超时或出错');}
		});	
	},
	
	// 一些地址配置
	config : {
		// 动态加载内容地址
		loadmore : {
			url : Y._APP_ +'/About/ajax_loadMore'
		},
		
		// 显示最新地址
		loadNew : {}	
	},
	
	// 加载更多
	loadMore : function() {
		var _this = this;
		var id = this.options.lastId;
		if(!id){alert('参数错误');return;}
		
		var container = this.doc.getElementById(this.options.container);
		var aLink = this.doc.getElementById(this.options.loadMoreButton);
		var parentEle = aLink.parentNode;
		var oldStr = parentEle.innerHTML;
		parentEle.innerHTML = '加载中...';
		
		var url = this.config.loadmore.url;
		var data = 'lastId='+id;
		this.request(url, data, function(str){
			parentEle.innerHTML = oldStr;
			_this.init();  // 重新添加事件
			if('4' == str) {
				alert('参数错误');	
				
			} else if(str.indexOf("hava")>0) {
				container.innerHTML += str;
				try {
					var childs = container.childNodes;
					for(var i=childs.length-1; i>=1; i--) {
						if(1 == childs[i].nodeType && childs[i].getAttribute('id')) {
							_this.options.lastId = childs[i].getAttribute('id').split('_').pop();
							break;
						}
					}
				} catch(e) {
					//alert(e);	
				}
				
			} else {
				parentEle.innerHTML = '没有数据了哦';	
			}
			
		}, function(){
			parentEle.innerHTML = oldStr;
			_this.init(); // 重新添加事件
			alert('请求超时或出错');
		});
	}	
};